package com.easylinkin.linkappapi.device.config;

import com.easylinkin.linkappapi.config.util.ConfigUtil;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;

/**
 * 配置中心的使用，可以参照此用吗，配置的数据结构，自行定义
 * 空气质量检测-配置
 *
 * @author tongjie
 */
@Component
public class DeviceConfigUtil {

    @Resource
    private ConfigUtil configUtil;

    /**
     * 环境管理大屏中的展示设备点位类别
     */
    static String ENVIRONMENT_DEVICE_TYPES = "ENVIRONMENT_DEVICE_TYPES";
    /**
     * AI 相机型号code
     */
    static String AI_CAMERA_DEVICE_UNIT_CODES = "AI_CAMERA_DEVICE_UNIT_CODES";
    static String AI_CAMERA_DEVICE_UNIT_CODES_SUB = "AI_CAMERA_DEVICE_UNIT_CODES_SUB";

    /**
     * 获取指定租户的这个配置
     *
     * @param tenantId 租户id
     * @return 获取租户指定key配置信息
     */
    public List<String> getPositionEnvironmentDeviceTypes(String tenantId) {
        List<String> list = configUtil.getValues(ENVIRONMENT_DEVICE_TYPES, tenantId);
        if (list.size() > 0) {
            return Arrays.asList(list.get(0).split(","));
        }
        return null;
    }

    /**
     * 配置区分哪些是AI 智能相机的型号
     *
     * @param tenantId
     * @return
     */
    public List<String> getAiCameraDeviceUnitList(String tenantId) {
        List<String> list = configUtil.getValues(AI_CAMERA_DEVICE_UNIT_CODES, tenantId);
        if (list.size() > 0) {
            return Arrays.asList(list.get(0).split(","));
        }
        return null;
    }

    public List<String> getAiCameraDeviceUnitSubList(String tenantId) {
        List<String> list = configUtil.getValues(AI_CAMERA_DEVICE_UNIT_CODES_SUB, tenantId);
        if (list.size() > 0) {
            return Arrays.asList(list.get(0).split(","));
        }
        return null;
    }

}
